package cc.rengu.redp.bizimpl.igas.service.impl;


import cc.rengu.redp.bizimpl.igas.bean.TETppsErrTxn;
import cc.rengu.redp.bizimpl.igas.dao.TETppsErrTxnMapper;
import cc.rengu.redp.bizimpl.igas.service.ITETppsErrTxnService;
import cc.rengu.redp.bizimpl.upmp.domain.UpmpUserInfo;
import cc.rengu.redp.bizimpl.upmp.service.IUpmpSysParamService;
import cc.rengu.redp.bizimpl.upmp.service.IUpmpUserInfoService;
import cc.rengu.redp.bizimpl.upmp.vo.UpmpUserInfoVO;
import cc.rengu.redp.bizimpl.utils.Common;
import cc.rengu.redp.bizimpl.utils.CommonUtils;
import cc.rengu.redp.common.domain.QueryRequest;
import cc.rengu.redp.common.exception.RedpException;
import cc.rengu.redp.common.utils.SortUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
* @author System
*/
@Service
    public class TETppsErrTxnServiceImpl extends ServiceImpl<TETppsErrTxnMapper, TETppsErrTxn> implements ITETppsErrTxnService {

    @Autowired
    private IUpmpUserInfoService upmpUserInfoService;
    @Autowired
    private IUpmpSysParamService upmpSysParamService;

    @Override
    public IPage<TETppsErrTxn> findByPage(QueryRequest request, TETppsErrTxn teTppsErrTxn, String userId) throws RedpException {
        UpmpUserInfo userInfo = upmpUserInfoService.findById(userId);
        String instId = teTppsErrTxn.getInstId();
        if(Common.isBlank(instId)){
            if(Common.isNotBlank(userInfo)&&!Common.isBlank(userInfo.getInstId())){
                teTppsErrTxn.setInstId(userInfo.getInstId());
            }
        }
        if(Common.isBlank(teTppsErrTxn.getBizProdType())){
            teTppsErrTxn.setBizProdType("03");
        }
        List<TETppsErrTxn> list = this.baseMapper.findByPage(teTppsErrTxn);
        Page<TETppsErrTxn>  page= new Page<>();
        page.setRecords(list);
        SortUtil.handlePageSort(request,page,true);
        return page;
    }

    @Override
    public List<TETppsErrTxn> findDataListQuery(String instId, String primaryKey) {
        UpmpUserInfoVO user = CommonUtils.getCurrentUser(upmpSysParamService);
        if(Common.isBlank(instId)){
            if(Common.isNotBlank(user)&&!Common.isBlank(user.getInstId())){
                instId=user.getInstId();
            }
        }
        return this.baseMapper.findDataListQuery(instId,primaryKey);
    }


}
